Physical systems can be modeled mathematically to simulate their behavior under different conditions. A wide variety of means exist to model physical systems, ranging from the very simplistic to the extremely complicated. One of the more complicated means to model physical systems is through the use of finite element analysis. As the name implies, finite element analysis involves the representation of individual, finite elements of a physical system in a mathematical model and the solution of this model in the presence of a predetermined set of boundary conditions.
In finite element modeling, the region that is to be analyzed is broken up into sub-regions called elements. This process of dividing the region into sub-regions may be referred to as discretization or mesh generation. The region is represented by functions defined over each element. This generates a number of local functions that are much simpler than those which would be required to represent the entire region. The next step is to analyze the response for each element. This is accomplished by building a matrix that defines the interaction properties of the various elements within the region and a vector that defines the forces acting on each element in the structure. Once all the element matrices and vectors have been created, they are combined into a structure matrix equation. This equation relates nodal responses for the entire structure to nodal forces. After applying boundary conditions, the structure matrix equation can be solved to obtain unknown nodal responses. Intra-element responses can be interpolated from nodal values using the functions which were defined over each element.
As indicated above, finite element modeling involves the creation of a mesh of finite elements. The elements are defined by nodes within the problem space. The nodes are simply points in space. The lines between the nodes are referred to as “edges.” The mesh is typically a structured mesh. In other words, the mesh is defined in three dimensions so that the elements within the problem space are hexahedrons. For example, they may be cubes or rectangular prisms. (Equivalently, in two dimensional problems, the elements would be rectangles—see FIG. 1 for an illustration of these elements.) The edges of the hexahedrons are coincident with the edges between the nodes of the mesh. In a simple model, the nodes of the mesh may be regularly spaced to define cubic elements. It is not necessary, however, for the nodes to be evenly spaced in all finite element models. A variety of different sizes and shapes of hexahedral elements can be defined within a single mesh.
However, mathematical models to simulate the behavior of physical systems can be both time consuming and complex to create. In particular, finite element analysis problems in multiple dimensions (for example, the four dimensions of space and time) are almost intractable to solve using non-computer-aided computational techniques. These types of problems are so complex that they must be performed with computer assistance. In particular, the difficulty of solving the mathematical equations used to model a physical system increases almost exponentially, in terms of the actual computations that must be performed, as the number of dimensions that the problem encompasses increases.
One method of solving the equations involved in mathematical modeling of physical systems, such as oil field reservoirs, involves the use of simulators that can create a model of the physical system based on user inputs of both equations, and variables within the equations, that describe the system. Typically, analysts skilled in both high-level mathematics (to generate the complex equations needed), and in high-level programming (to generate the necessary code from the mathematical formulations) are required. Alternatively, teams of specialized mathematicians and programmers can be used to analyze a problem, formulate the mathematical equations, and write the corresponding code by hand. One such method and system for creating simulators to model physical systems is disclosed in related U.S. patent application Ser. No. 09/419,717, entitled “METHOD AND SYSTEM FOR GENERATING SOFTWARE CODE USING A SYMBOLIC LANGUAGE TRANSLATOR,” filed on Oct. 14, 1999 now U.S. Pat. No. 6,633,837. This application is hereby incorporated by reference in its entirety.
However, even the models obtained with these state-of-the-art simulators do not always adequately represent the physical system being modeled such that accurate solutions can be obtained at certain critical points. For example, prior art methods and systems for solving the equations used to model a physical system typically use linear approximations and other averaging techniques (that make various assumptions that may not be true at certain points in the system). Also, these prior art methods and systems typically require a large number of nodes (solution points) to accurately model a system. Solving the equations that represent the system at each of these nodes requires a great deal of time and computational power.
Further, certain physical characteristics of a system being modeled do not lend themselves well to modeling in a Cartesian coordinate system. In particular, the pressure profile in the vicinity of a well tapping into an oil field reservoir is highly non-linear in Cartesian coordinates. Therefore, using linear elements in the finite element analysis may introduce significant interpolation errors. This is especially true when a coarse mesh (as known to those in the art), and therefore large linear elements, is used in Cartesian space. If the modeling is performed using only the X,Y,Z coordinate (Cartesian coordinate) system, then if the temporal (time) dimensional extrusion used in the system modeling is irregular (i.e., the system model is not uniform), then the solution to the problem may oscillate.
Modeling of a physical system is a predictive exercise. For example, when generating a model of the pressure distribution inside of an oil field reservoir, the intent is to generate a tool that can be used to determine the pressure distribution, under a certain set of relevant conditions, to be able to predict the effect on the system when those conditions are changed. The model must therefore be accurate within the range of conditions of interest.
The pressure distribution in an oil field reservoir has been found to be non-linear in a Cartesian coordinate system (in fact, it is a logarithm), especially in the vicinity of a well. The pressure is thus typically greater far out from the well and then drops logarithmically as the distance from the well bore decreases. Modeling such a system accurately, using a Cartesian coordinate system, thus requires a large number of nodes. A linear approximation is insufficient, because on the logarithmic pressure curve the values will change too greatly between nodes. Using a Cartesian coordinate system can thus result in oscillations and inaccuracies in the solution. Without an appropriate approximation, predictive behavior is uncertain and the model fails.
Standard finite element analysis techniques applied to the Cartesian coordinate space are thus inadequate for modeling radial flow near a singularity such as the near-well region of an oil field reservoir. Boundary conditions representing fluid flows into, or out of, a well are inaccurate near such a singularity unless a very fine spatial mesh requiring a large number of nodes is generated. Such a mesh requires nodes spaced at very small increments to be able to accurately predict results. The time and computational resources needed to obtain a solution in this matter also increase as the node count increases.